CLUE allows the programmer defining a contact class to ignore certain redundant
input events in order to improve contact performance. ``Compression'' of
redundant events is controlled by the class slots <#2297#><TT>compress-exposures</TT><#2297#> and
<#2298#><TT>compress-motion</TT><#2298#>, which are shared by all instances of a contact class.
<P>
Contacts which respond to changes in the pointer position may find it difficult
to keep up with a rapidly-moving mouse and, in fact, may not need to recognize every
individual motion event. Initializing the <#2299#><TT>compress-motion</TT><#2299#> slot to <#2300#><TT>:on</TT><#2300#> will cause all but the last in a sequence of consecutive <#2301#><TT>:motion-notify</TT><#2301#>
events to be
ignored, with only the most recent event being dispatched to the contact.
<P>
Simple contacts may find it more efficient always to display the entire contact
image, ignoring <#2302#><TT>x</TT><#2302#>, <#2303#><TT>y</TT><#2303#>, <#2304#><TT>width</TT><#2304#>, and <#2305#><TT>height</TT><#2305#> arguments
to the <#2306#><TT>display</TT><#2306#> method.
<A ID="2307"><tex2html_anchor_invisible_mark></A>
Such contacts will not be interested in partial
exposure events. Initializing the <#2308#><TT>compress-exposures</TT><#2308#> slot to <#2309#><TT>:on</TT><#2309#> will
result in <#2310#><TT>:exposure</TT><#2310#> events being dispatched to the contact only when the
expose count is zero (i.e. the last of a series of partial exposure events).